home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / gencodec / source / writecatalog / writecataloggui.c < prev    next >
C/C++ Source or Header  |  1999-01-01  |  3KB  |  151 lines

  1. #ifndef MAKE_ID
  2. #define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
  3. #endif
  4.  
  5. /* Libraries */
  6. #include <libraries/mui.h>
  7. #include <libraries/gadtools.h> /* for Barlabel in MenuItem */
  8. #include <exec/memory.h>
  9.  
  10. /* Prototypes */
  11. #include <proto/muimaster.h>
  12. #include <proto/exec.h>
  13. #ifdef __GNUC__
  14. #include <proto/alib.h>
  15. #else
  16. #include <clib/alib_protos.h>
  17. #endif /* __GNUC__ */
  18.  
  19. #include "WriteCatalogGUI.h"
  20.  
  21. struct ObjApp * CreateApp(void)
  22. {
  23.     struct ObjApp * ObjectApp;
  24.  
  25.     APTR    GROUP_ROOT_0, obj_aux0, obj_aux1, GR_Buttons, Space_0, Space_1;
  26.  
  27.     if (!(ObjectApp = AllocVec(sizeof(struct ObjApp),MEMF_CLEAR)))
  28.         return(NULL);
  29.  
  30.     ObjectApp->STR_GetStringName = StringObject,
  31.         MUIA_Frame, MUIV_Frame_String,
  32.         MUIA_ControlChar, 'n',
  33.     End;
  34.  
  35.     obj_aux1 = KeyLabel2("GetString Name", 'n');
  36.  
  37.     obj_aux0 = GroupObject,
  38.         MUIA_Group_Columns, 2,
  39.         Child, obj_aux1,
  40.         Child, ObjectApp->STR_GetStringName,
  41.     End;
  42.  
  43.     ObjectApp->GR_GetStringName = GroupObject,
  44.         Child, obj_aux0,
  45.     End;
  46.  
  47.     ObjectApp->GR_Text = GroupObject,
  48.         MUIA_Frame, MUIV_Frame_Group,
  49.     End;
  50.  
  51.     Space_0 = HVSpace;
  52.  
  53.     ObjectApp->BT_GenerateFiles = TextObject,
  54.         ButtonFrame,
  55.         MUIA_Background, MUII_ButtonBack,
  56.         MUIA_ControlChar, 'g',
  57.         MUIA_Text_Contents, "Generate Files",
  58.         MUIA_Text_PreParse, "\033c",
  59.         MUIA_Text_HiChar, 'g',
  60.         MUIA_InputMode, MUIV_InputMode_RelVerify,
  61.     End;
  62.  
  63.     ObjectApp->BT_Save = TextObject,
  64.         ButtonFrame,
  65.         MUIA_Background, MUII_ButtonBack,
  66.         MUIA_ControlChar, 's',
  67.         MUIA_Text_Contents, "Save",
  68.         MUIA_Text_PreParse, "\033c",
  69.         MUIA_Text_HiChar, 's',
  70.         MUIA_InputMode, MUIV_InputMode_RelVerify,
  71.     End;
  72.  
  73.     Space_1 = HVSpace;
  74.  
  75.     GR_Buttons = GroupObject,
  76.         MUIA_Group_Horiz, TRUE,
  77.         Child, Space_0,
  78.         Child, ObjectApp->BT_GenerateFiles,
  79.         Child, ObjectApp->BT_Save,
  80.         Child, Space_1,
  81.     End;
  82.  
  83.     GROUP_ROOT_0 = GroupObject,
  84.         Child, ObjectApp->GR_GetStringName,
  85.         Child, ObjectApp->GR_Text,
  86.         Child, GR_Buttons,
  87.     End;
  88.  
  89.     ObjectApp->WI_WriteCatalog = WindowObject,
  90.         MUIA_Window_Title, "WriteCatalog",
  91.         MUIA_Window_ID, MAKE_ID('0', 'W', 'I', 'N'),
  92.         WindowContents, GROUP_ROOT_0,
  93.     End;
  94.  
  95.     ObjectApp->App = ApplicationObject,
  96.         MUIA_Application_Author, "Billault(s)",
  97.         MUIA_Application_Base, "WriteCatalog",
  98.         MUIA_Application_Title, "WriteCatalog",
  99.         MUIA_Application_Version, "$VER: WriteCatalog 1.0 (20.09.95)",
  100.         MUIA_Application_Copyright, "Billault(s)",
  101.         MUIA_Application_Description, "Générateur C pour la localisation",
  102.         SubWindow, ObjectApp->WI_WriteCatalog,
  103.     End;
  104.  
  105.  
  106.     if (!ObjectApp->App)
  107.     {
  108.         FreeVec(ObjectApp);
  109.         return(NULL);
  110.     }
  111.  
  112.     DoMethod(ObjectApp->WI_WriteCatalog,
  113.         MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
  114.         ObjectApp->App,
  115.         2,
  116.         MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit
  117.         );
  118.  
  119.     DoMethod(ObjectApp->BT_GenerateFiles,
  120.         MUIM_Notify, MUIA_Pressed, FALSE,
  121.         ObjectApp->App,
  122.         2,
  123.         MUIM_Application_ReturnID, ID_BT_GenerateFiles
  124.         );
  125.  
  126.     DoMethod(ObjectApp->BT_Save,
  127.         MUIM_Notify, MUIA_Pressed, TRUE,
  128.         ObjectApp->App,
  129.         2,
  130.         MUIM_Application_ReturnID, ID_BT_Save
  131.         );
  132.  
  133.     DoMethod(ObjectApp->WI_WriteCatalog,
  134.         MUIM_Window_SetCycleChain, ObjectApp->GR_GetStringName,
  135.         ObjectApp->STR_GetStringName,
  136.         ObjectApp->GR_Text,
  137.         ObjectApp->BT_GenerateFiles,
  138.         ObjectApp->BT_Save,
  139.         0
  140.         );
  141.  
  142.  
  143.     return(ObjectApp);
  144. }
  145.  
  146. void DisposeApp(struct ObjApp * ObjectApp)
  147. {
  148.     MUI_DisposeObject(ObjectApp->App);
  149.     FreeVec(ObjectApp);
  150. }
  151.